Systems and methods to enhance interactive program watching

ABSTRACT

Systems and methods are provided for determining a subset of available paths of an interactive media program to generate for output. One example method includes receiving, at a computing device, the interactive media program, wherein the interactive media program comprises a plurality of alternative segments followed by a common segment and accessing a user profile. A subset of the plurality of alternative segments are identified, based on the user profile. A set of options for output are generated, wherein the set of options enables one of the alternative segments to be selected from the identified subset of the alternative segments. A selection of an option of the set of options is received, wherein the option is a first option and a first segment of the subset of the plurality of alternative segments is generated for output, based on the selected option.

BACKGROUND

The present disclosure is directed towards systems and methods forenhancing interactive media program watching. In particular, systems andmethods are provided herein that enable a subset of segments of aninteractive media asset to be identified and generated for output and/orthat enable the generation of a summary of at least one segment of aninteractive media asset.

SUMMARY

With the proliferation of over-the-top (OTT) media providers, such asNetflix, Amazon Prime Video, Hulu and Disney+, it is possible to delivermedia formats to users that were not possible via traditionalbroadcasting methods. For example, users can view interactive mediaassets where it is possible to choose one or more segments, from a listof different segments, to be displayed, thereby creating a personalizedviewing experience. When watching an interactive media asset, a user mayview a common segment of the media asset, be presented with a choice ofalternative segments to view, choose a segment to view, view the chosensegment and then view a second common segment. However, for some users,being presented with choices may present a dilemma, in that they cannotdecide which choice to pick. In other scenarios, where there aremultiple users viewing the same interactive media asset, the users maydisagree on which choice to pick. Users may only have a limited amountof time to consume a media asset. Whereas it is straightforward toascertain a total running time of a traditional, linear media asset, itis not necessarily straightforward to ascertain the total running timeof an interactive media asset, as the choices made may impact the totalrunning time. Users may also be curious about what happens if they makedifferent choices and/or about the content related to different choices.Further, if, for example, two friends watch an interactive media asset,they may have had very different viewing experiences based on thechoices they made. If the friends attempt to discuss the interactivemedia asset the next day, they may struggle to find common ground due tothe different viewing experiences.

In view of the foregoing, it would be beneficial to have a system thatis capable of enhancing interactive media program watching. Morespecifically, systems and methods are provided herein that enable asubset of segments of an interactive media asset to be identified andgenerated for output and/or that enable the generation of a summary ofat least one segment of an interactive media asset.

Systems and methods are described herein for determining a subset ofavailable paths of an interactive media program to generate for output.In accordance with a first aspect of the disclosure, a method isprovided for determining a subset of available paths of an interactivemedia program to generate for output. The method includes receiving, ata computing device, the interactive media program, wherein theinteractive media program comprises a plurality of alternative segmentsfollowed by a common segment;

accessing a user profile and identifying, based on the user profile, asubset of the plurality of alternative segments. A set of options isgenerated for output, wherein the set of options enables one of thealternative segments to be selected from the identified subset of thealternative segments. A selection of an option of the set of options isreceived, wherein the option is a first option, and, based on theselected option, a first segment of the subset of the plurality ofalternative segments is generated for output.

Generating a set of options for output may comprise displaying theoptions on a display of a computing device. In other examples,generating a set of options for output may comprise generating an audiosignal that details the set of options. A selection of an option maytake place via a touch event on a computing device, via a remote controlof a smart television and/or via a user speaking an option and theuser's speech being interpreted by voice recognition software. Anaudiobook app may generate an audio signal based on the text of theaudio book and display a set of options to a user on a display of acomputing device, wherein the options are via a touch event. Outputtinga segment may comprise displaying the segment in the case of a programcomprising video content and/or outputting audio output in the case of aprogram comprising solely audio and/or audiovisual content. In anexample system, a user may access an interactive media program via anOTT application running on a smart television. The interactive mediaprogram may be sent from a server, via the internet, to the smarttelevision and be generated for display. On receiving the interactivemedia program, the application running on the smart television maysimultaneously generate the first segment of the interactive mediaprogram for display and identify a subset of the alternative segmentsbased on the user profile. In some implementations, an indication of arecommended option based on the user profile may be generated fordisplay along with the set of options. For example, the interactivemedia program may have five alternative segments, wherein a firstsegment comprises the two main characters getting married, the secondsegment comprises the two main characters living together, the thirdsegment comprises the two main characters going on holiday, the fourthsegment comprises one of the main characters leaving town and the fifthsegment comprises one of the main characters having an affair.

Based on the user profile, the application may identify that the userwould only be interested in the first three segments pertaining to, forexample, happy endings. The alternative segments may have metadataassociated with them that enables an application running on a smarttelevision to identify characteristics associated with each alternativesegment in order to aid the application with determining which segmentsare appropriate for a particular user profile. In other examples, theidentification of the subset of segments may take place, for example, ata server remote from the smart television, and an indication of thesubset of segments that are suitable for a particular user profile maybe sent to the smart television, from the server. In this example, whenthe user is prompted to choose a segment of the plurality of alternativesegments, the user may only be presented with the first three options.If the user proceeds to, for example, choose the second segment, thenthe segment pertaining to the two main characters living together may begenerated for display. After the selected segment has been generated fordisplay, a common segment may then be generated for display. In someexamples, an interactive media program may comprise a more than oncechoice point and associated alternative segments.

Two or more users accessing the interactive media program may beidentified. Accessing the user profile may further comprise accessing auser profile for each of at least two of the identified users.Generating the set of options for output may further comprise generatinga set of options for output based on the user profiles of at least twoof the identified users. Generating the set of options may comprisegenerating a single set of options for multiple users, based on all ofthe accessed user profiles. In other examples, a set of options may begenerated for each of the accessed user profiles. Receiving theselection of an option may further comprise receiving a selection of asecond option. One or more secondary computing devices may beidentified, and, based on the selected second option, a second segmentmay be generated for output at the identified one or more secondarycomputing devices. In some examples, identifying the users is performedvia a camera coupled to the computing device. In some examples, theusers may be identified via the selection of multiple user profiles atthe application running on the smart television. In other examples, theusers may be identified via facial recognition and an image captured viaa camera attached to, or integral to, the smart television. Users mayalso be identified via, for example, a smartphone and/or a smartwatchassociated with the user. For example, the smart television may detectthat user's smartphone and/or the smartwatch is in proximity to thesmart television. This may be performed via, for example, Bluetoothand/or Wi-Fi. The smart television may generate an event that iscaptured by an application running on the smart television. In otherexamples, the user may be logged on to a corresponding applicationrunning on their smart device. Continuing the above example, the seconduser may be interested in segments pertaining to an unhappy ending. Toaddress the preferences of both users, options relating to the first,second, fourth and fifth segments may be displayed to the two users.

Identifying a subset of the plurality of alternative segments based onthe user profile may further comprise identifying the subset of segmentsbased on at least one of: past viewing behavior, past selections ofalternative segments, one or more characters present in each of thealternative segments, or the storyline followed in each of thealternative segments. For example, if a user tends to pick happyendings, only options that pertain to happy endings may be generated fordisplay.

Receiving the selection of an option further may further comprisereceiving a selection from a second identified user. One or moresecondary computing devices may be identified, and generating theselected segment for output may further comprise generating a selectedsegment for output, based on the selection from the second identifieduser, at one of the identified secondary computing devices. In someimplementations, an indication of a secondary device on which a selectedsegment can be viewed may be generated for output with the set ofoptions. In some examples, the set of options may comprise a first setof options and a second set of options. Generating a set of options foroutput may comprise generating the first set of options for output atthe computing device and generating the second set of options for outputat a secondary computing device. Continuing the above example, the firstuser may choose an option relating to the first segment and may watchthis segment on the smart television. The second user may choose anoption relating to the fourth segment and may watch this segment at atablet device running, for example, an application that corresponds tothe application running on the smart television.

Generating the set of options for output may further comprise generatingan indication of a duration of the segment associated with each option.In some examples, a selection of a second option may also be received. Afirst segment may be generated for output based on the selected firstoption, and a second segment may be generated for output based on theselected second option. The first segment may be of a first duration andthe second segment may be of a second duration, and the second segmentmay be altered so that its duration is the same as the first duration.For example, a first option may be associated with a segment that is 20minutes long and a second option may be associated with a segment thatis 25 minutes long. The second segment may be altered so that theduration of the second segment is the same as the first segment. Thismay be achieved by speeding up the runtime of the second segment and/orremoving parts (for example, groups of frames) from the second segment.There may be metadata associated with the second segment to indicatewhich parts may be removed from the second segment in order to reducethe runtime. In other examples, the application may implement a trainedmodel in order to remove parts of the second segment.

Systems and methods are described herein for providing an enhancedviewing experience for one or more users of an interactive mediaprogram. In accordance with a second aspect of the disclosure, a methodis provided that includes receiving, at a computing device, theinteractive media program, wherein the interactive media programcomprises a plurality of alternative segments followed by a commonsegment and receiving a selection of a first alternative segment. Thefirst alternative segment is generated for output and a summary of atleast one segment from the plurality of alternative segments isgenerated. The summary is generated for output, as is the common segmentof the interactive media program. In an example system, a user mayaccess an interactive media program via an OTT application running on asmart television. The interactive media program may be sent from aserver, via the internet, to the smart television and be generated fordisplay. On receiving the interactive media program, the applicationrunning on the smart television may simultaneously generate the firstsegment of the interactive media program for display. At a choice point,a user may be presented with a number of different options that enablethe user to select one of the alternative segments. While the user iswatching the selected segment, the application may generate a summary ofthe other segments and generate the summary for display before the usercontinues watching the common portion of the interactive media program.In other examples, the summary may be generated at a server remote fromthe smart television. In some examples, a summary may be pre-generatedfor each choice that a user could make and, depending on the segmentchosen by a user, the pre-generated summary may be sent to the smarttelevision. The summary may comprise one or more of the alternativesegments played at an increased playback speed. In other examples, thesummary may comprise excerpts, or subsections, from the segments thatwere not chosen. The summary may be automatically generated by a trainedmodel.

A selection of a second alternative segment may be received, and thesecond alternative segment may be generated for output. In someexamples, only the selected segments may be summarized. In otherexamples, a user profile may be accessed and, based on the user profile,an interest level in each of the unselected segments may be determined.Generating the summary may further comprise summarizing only thesegments that have an associated interest level that is above athreshold value. Determining an interest level may, for example compriseidentifying keywords associated with the user profile and identifyingkeywords in metadata associated with a segment. If, for example, a userprofile indicates that a user is interested in comedy and metadataassociated with a segment indicates that the segment comprises comedy,then it may be determined that the user may have a relatively highinterest level in that segment. If, for example, a user profileindicates that a user is not interested in horror and metadataassociated with a segment indicates that the segment comprises comedy,they it may be determined that a user may have a relatively low interestlevel in that segment. In other examples, a user profile may be groupedwith user profiles that indicate similar likes and dislikes. An interestlevel may be determined based on, for example, the viewing habitsassociated with other user profiles in the group (i.e., for example,whether users associated with the other user profiles selected asegment). For example, if a segment has a relatively high selection rateassociated with other profiles in the group, then a determined that thata user may have a relatively high interest level in that segment. Inother examples, a user may manually indict via, for example, a settingsmenu the types of segment that they are interested in. If a segmentmatches or is related to a type that a user has indicated that they areinterested in, then a relatively high interest level may be determined.

An indication of a bookmark may be received during the output of asegment, and generating the summary further comprises summarizing only asubsection of a segment as indicated by the bookmark. In some examples,each segment of the plurality of segments may be analyzed to identifyany subsections of a segment that are related to one or more othersegments of the plurality of segments, and an indication of a bookmarkmay be generated for at least a subset of the identified subsections.For example, if there is a plot line that crosses different segments,then a bookmark may be generated to identify that those subsections ofthe segments should be summarized.

The first segment may be generated for output at a first computingdevice, and the second segment may be generated for output at a secondcomputing device. Generating the summary may further comprise generatinga first summary based on the first segment and generating a secondsummary based on the second segment. Generating the summary for outputmay further comprise generating the first summary for output at thefirst computing device and generating the second summary for output atthe second computing device.

A user profile associated may be accessed, and generating a summary mayfurther comprise identifying a summary duration based, at least in part,on the accessed user profile. For example, a user profile may indicatethat a user has a preference for shorter summaries. In other examples,the user profile may be linked to a user's calendar, and the applicationrunning on the smart television may determine that a user has a fixedamount of time to fill before, for example, a meeting. The duration ofthe summary may be based on the time that the user has until the meetingsuch that the interactive media program finishes before the meetingstart.

In some examples, an interactive media program comprising a plurality ofalternative segments followed by a common segment may be received at acomputing device. A user profile may be accessed and, based on the userprofile, a subset of the plurality of alternative segments may beidentified. A set of options may be generated for output, wherein theset of options enables one of the alternative segments to be selectedfrom the identified subset of the selectable segments. An option of theset of options may be received and, based on the selected option, afirst segment of the subset of the plurality of alternative segments maybe generated for output. A summary of at least one segment of theplurality of alternative segments may be generated. The summary and thecommon segment of the interactive media program may be generated foroutput.

BRIEF DESCRIPTIONS OF THE DRAWINGS

The present disclosure, in accordance with one or more variousembodiments, is described in detail with reference to the followingfigures. The drawings are provided for purposes of illustration only andmerely depict typical or example embodiments. These drawings areprovided to facilitate an understanding of the concepts disclosed hereinand shall not be considered limiting of the breadth, scope, orapplicability of these concepts. It should be noted that for clarity andease of illustration these drawings are not necessarily made to scale.

The above and other objects and advantages of the disclosure may beapparent upon consideration of the following detailed description, takenin conjunction with the accompanying drawings, in which:

FIG. 1 shows a schematic diagram of the paths of an interactive mediaprogram, in accordance with some embodiments of the disclosure;

FIG. 2 shows another a schematic diagram of the paths of an interactivemedia program, in accordance with some embodiments of the disclosure;

FIG. 3 shows another schematic diagram of the paths of an interactivemedia program, in accordance with some embodiments of the disclosure;

FIG. 4 shows an example environment in which a subset of available pathsof an interactive media program to generate for display are determined,in accordance with some embodiments of the disclosure;

FIG. 5 shows another example environment in which a subset of availablepaths of an interactive media program to generate for display aredetermined, in accordance with some embodiments of the disclosure;

FIG. 6A shows another example environment in which a subset of availablepaths of an interactive media program to generate for display aredetermined, in accordance with some embodiments of the disclosure;

FIG. 6B shows another example environment in which a subset of availablepaths of an interactive media program to generate for display aredetermined, in accordance with some embodiments of the disclosure;

FIG. 7A shows another example environment in which a subset of availablepaths of an interactive media program to generate for display aredetermined, in accordance with some embodiments of the disclosure;

FIG. 7B shows another example environment in which a subset of availablepaths of an interactive media program to generate for display aredetermined, in accordance with some embodiments of the disclosure;

FIG. 8 shows another example environment in which a subset of availablepaths of an interactive media program to generate for display aredetermined, in accordance with some embodiments of the disclosure;

FIG. 9 shows another example environment in which a subset of availablepaths of an interactive media program to generate for display aredetermined, in accordance with some embodiments of the disclosure;

FIG. 10A shows an example environment in which an enhanced viewingexperience for one or more users of an interactive media program isprovided, in accordance with some embodiments of the disclosure;

FIG. 10B shows another example environment in which an enhanced viewingexperience for one or more users of an interactive media program isprovided, in accordance with some embodiments of the disclosure;

FIG. 10C shows another example environment in which an enhanced viewingexperience for one or more users of an interactive media program isprovided, in accordance with some embodiments of the disclosure;

FIG. 10D shows another example environment in which an enhanced viewingexperience for one or more users of an interactive media program isprovided, in accordance with some embodiments of the disclosure;

FIG. 11A shows another example environment in which an enhanced viewingexperience for one or more users of an interactive media program isprovided, in accordance with some embodiments of the disclosure;

FIG. 11B shows another example environment in which an enhanced viewingexperience for one or more users of an interactive media program isprovided, in accordance with some embodiments of the disclosure;

FIG. 12 shows another example environment in which an enhanced viewingexperience for one or more users of an interactive media program isprovided, in accordance with some embodiments of the disclosure;

FIG. 13 shows a block diagram representing components of a computingdevice and data flow therebetween for determining a subset of availablepaths of an interactive media program to generate for display, inaccordance with some embodiments of the disclosure;

FIG. 14 shows a block diagram representing components of a computingdevice and data flow therebetween for providing an enhanced viewingexperience for one or more users of an interactive media program, inaccordance with some embodiments of the disclosure;

FIG. 15 shows a flowchart of illustrative steps involved for determininga subset of available paths of an interactive media program to generatefor display, in accordance with some embodiments of the disclosure;

FIG. 16 shows a flowchart of illustrative steps involved for providingan enhanced viewing experience for one or more users of an interactivemedia program, in accordance with some embodiments of the disclosure;and

FIG. 17 shows another a flowchart of illustrative steps involved fordetermining a subset of available paths of an interactive media programto generate for display, in accordance with some embodiments of thedisclosure.

DETAILED DESCRIPTION

Systems and methods are described herein for enhancing interactive mediaprogram watching. An interactive media program is any type of media thatcomprises multiple segments from which a user can select one of thesegments for consumption. An interactive media program will comprise atleast one common segment that is not chosen by a user and at least onesegment that is chosen by a user from a plurality of segments.Typically, the content of the media program will diverge from a firstcommon segment once a user has made a choice and will subsequentlyconverge to a second common segment once the chosen segment hasfinished. A media program includes audio, video and/or any other mediacontent. Audio includes audio-only content, such as podcasts andstories. Video includes audiovisual content such as movies and/ortelevision programs. An over-the-top content platform may be accessedvia a website and/or an app running on a computing device.

The disclosed methods and systems may be implemented on a computingdevice. As referred to herein, the computing device can be any devicecomprising a processor and memory, for example, a television, a SmartTV, a set-top box, an integrated receiver decoder (IRD) for handlingsatellite television, a digital storage device, a digital media receiver(DMR), a digital media adapter (DMA), a streaming media device, a DVDplayer, a DVD recorder, a connected DVD, a local media server, a BLU-RAYplayer, a BLU-RAY recorder, a personal computer (PC), a laptop computer,a tablet computer, a WebTV box, a personal computer television (PC/TV),a PC media server, a PC media center, a handheld computer, a stationarytelephone, a personal digital assistant (PDA), a mobile telephone, aportable video player, a portable music player, a portable gamingmachine, a smartphone, an augmented reality device, a mixed realitydevice, a virtual reality device, or any other television equipment,computing equipment, or wireless device, and/or combination of the same.

The methods and/or any instructions for performing any of theembodiments discussed herein may be encoded on computer-readable media.Computer-readable media includes any media capable of storing data. Thecomputer-readable media may be transitory, including, but not limitedto, propagating electrical or electromagnetic signals, or may benon-transitory, including, but not limited to, volatile and non-volatilecomputer memory or storage devices such as a hard disk, floppy disk, USBdrive, DVD, CD, media cards, register memory, processor caches, randomaccess memory (RAM), etc.

FIG. 1 shows a schematic diagram of the paths of an interactive mediaprogram, in accordance with some embodiments of the disclosure. Thepaths 100 comprise a start point 102, for example, when a user initiatesthe playback of an interactive media program. The interactive mediaprogram proceeds along a linear path, and a first common segment (i.e.,all users are shown the same content) is output (i.e., displayed in thecase of a program comprising video content, and/or audio output in thecase of a program comprising solely audio and/or audiovisual content)until choice point 104 is reached. The first common segment may comprisea short amount of time, for example, one minute, or a longer amount oftime, such as 35 minutes. At choice point 104, the user is presentedwith, in this example, three options, which are associated with each ofthe alternative first, second and third segments 106 a, 106 b and 106 c.In some examples, the media program is paused until an option isselected. In other examples, a default choice is selected for a user ifno choice is made within a threshold amount of time, for example, 30seconds. In some examples, the user is able to change the thresholdamount of time via, for example, the settings in an application used tooutput the interactive media asset on a computing device. On theselecting of an option, an alternative segment associated with theselected option is output. For example, if the user selects an optionassociated with the third segment 106 c, the third segment 106 c will beoutput. The segments associated with the unselected options, in thisexample the first and second segments 106 a, 106 b, are not output. Atsegment end point 108, a second common segment 110 is output. Althoughthe example shows only a single choice point, an interactive mediaprogram may comprise multiple choice points, each associated with aplurality of alternative segments. In this example, three alternativesegments are available for selection; however, it is contemplated thatan interactive media program may comprise any number of alternativesegments for each choice point, for example, two, three, four, five,six, eight, ten, fifteen or twenty alternative segments.

FIG. 2 shows another schematic diagram of the paths of an interactivemedia program, in accordance with some embodiments of the disclosure. Ina similar manner to the schematic diagram of FIG. 1 , the paths 200comprise a start point 202, for example, when a user initiates theplayback of an interactive media program. The interactive media programproceeds along a linear path, and a first common segment is output untilchoice point 204 is reached. At choice point 204, the user is presentedwith, in this example, three options, which are associated with each ofthe alternative first, second and third segments 206 a, 206 b and 206 c.On the selecting of an option, an alternative segment associated withthe selected option is output. For example, if the user selects anoption associated with second segment 206 b, the second segment 206 bwill be output. The segments associated with the unselected options, inthis example the first and second segments 206 a, 206 b, are not output.In this example, the first, second and third segments 206 a, 206 b and206 c are of different durations, as indicated by the different segmentendpoints 208 a, 208 b and 208 c. The first segment 208 a is of thelongest duration, the second segment 208 b is of a middling duration,and the third segment 208 c is of the shortest duration. Although thealternative segments are of different durations, the same second commonsegment 210 is output at each of the segment endpoints 208 a, 208 b and208 c. As such, the overall runtime of the interactive media program mayvary in length, depending on which option, and hence segment, is chosenby a user. Although the example shows only a single choice point, aninteractive media program may comprise multiple choice points, eachassociated with a plurality of alternative segments. In this example,three alternative segments are available for selection; however, it iscontemplated that an interactive media program may comprise any numberof alternative segments for each choice point, for example, two, three,four, five, six, eight, ten, fifteen or twenty alternative segments.

FIG. 3 shows another schematic diagram of the paths of an interactivemedia program, in accordance with some embodiments of the disclosure. Ina similar manner to the schematic diagram of FIG. 1 , the paths 300comprise a start point 302. The interactive media program proceeds alonga linear path, and a first common segment is output until choice point304 is reached. At choice point 304, the user is presented with, in thisexample, five options, which are associated with each of the alternativefirst, second, third, fourth and fifth segments 306 a, 306 b, 306 c, 306d and 306 e. On the selecting of an option, an alternative segmentassociated with the selected option is output. For example, if the userselects an option associated with the fourth segment 306 d, the fourthsegment 306 d will be output. The segments associated with theunselected options, in this example the first, second, third and fifthsegments 306 a, 306 b, 306 c and 306 e are not output. At segment endpoint 308, a summary 312 of the segments is output. After the summary312, the second common segment 310 is output. Although the example showsonly a single choice point, an interactive media program may comprisemultiple choice points, each associated with a plurality of alternativesegments. There may be a summary associated with each of the choicepoints or only a subset of the choice points. In this example, fivealternative segments are available for selection; however, it iscontemplated that an interactive media program may comprise any numberof alternative segments for each choice point, for example, two, three,four, five, six, eight, ten, fifteen or twenty alternative segments.

FIG. 4 shows an example environment in which a subset of available pathsof an interactive media program to generate for display are determined,in accordance with some embodiments of the disclosure. The environment400 comprises a computing device, in this case a smart television 402,that receives and displays an interactive media program 404 via anetwork 406 from a server 408. The network 406 may be the internet andmay comprise wired and/or wireless means for transmitting theinteractive media program 404 from the server 408 to the smarttelevision 402. In some examples, the server is an edge server. In someexamples, the smart television 402 runs an application of an OTTprovider in order to display the interactive media program 404. At achoice point, such as the choice point discussed in connection withFIGS. 1, 2 and 3 , a number of options are displayed on the smarttelevision 402. In this example, a first option 410 a comprises “Throwtea over computer” and a second option 410 b comprises “Shout at dad.” Auser may select one of the options 410 a, 410 b via a voice command 412a that is received via a microphone of the smart television 402 and isinterpreted via voice recognition software, via an application runningon a computing device, such as a smartphone 412 b, that is communicablyconnected to the smart television 402 via Bluetooth and/or Wi-Fi; via aremote control 412 c of the smart television 402; and/or via a touchevent 412 d, such as touching an option 410 a, 410 b on a display of thesmart television 402. On receiving a selection of an option 410 a, 410b, the smart television 402 displays the segment associated with theoption.

FIG. 5 shows another example environment in which a subset of availablepaths of an interactive media program to generate for display aredetermined, in accordance with some embodiments of the disclosure. In asimilar manner to the environment shown in FIG. 4 , the environment 500comprises a computing device, in this case a smart television 502, thatreceives and displays an interactive media program 504. As before, theinteractive media program may be received, via a network, from a server.The user provides an indication of a user profile 514; for example, whenthey first open an application associated with an OTT provider on thesmart television 502, the smart television 502 may display a selectionof user profiles associated with an OTT account. In this example, theuser selects the “Alice” user profile. Once the interactive mediaprogram 504 has been accessed, and before the choice point is reached,an application running on the smart television 504 accesses 516 the userprofile and identifies a recommendation 517 to display to the user inconjunction with the first option 510 a and the second option 510 b. Theuser profile may comprise at least one of: past viewing behavior, pastselections of alternative segments, one or more characters present ineach of the alternative segments and/or the storyline followed in eachof the alternative segments. The alternative segments may comprisemetadata associated with each segment. The application running on thesmart television may access the user profile and the metadata associatedwith each segment in order to identify a recommendation to display. Forexample, the user profile may indicate that the user usually choosessegments that are associated with comedy. If an alternative segment isassociated with metadata that indicates that a segment comprises comedy,then that segment may be recommended to a user. In this example, therecommendation 518 for the profile “Alice” is to select the first option510 a, “Throw tea over computer.” The user may choose to select therecommended option or may choose to select the option that is notrecommended. In some examples, the recommended option may beautomatically selected on behalf of a user. In other examples, therecommended option may be selected after a timeout period, for exampleafter, 30 seconds. The option may be selected via any of the meansdiscussed in connection with FIG. 4 . On receiving a selection of anoption 510 a, 510 b, the smart television 502 displays the segmentassociated with the option.

FIG. 6A shows another example environment in which a subset of availablepaths of an interactive media program to generate for display aredetermined, in accordance with some embodiments of the disclosure. In asimilar manner to the environment shown in FIG. 5 , the environment 600comprises a computing device, in this case a smart television 602, thatreceives and displays an interactive media program 604. As before, theinteractive media program may be received, via a network, from a server.The smart television 604 comprises a camera 618 that is used to obtain acapture of the users 620 a, 620 b. An application running on the smarttelevision 604 uses image recognition to identify the users 620 a, 620b. In this example, the users are identified as Alice 620 a and Bob 620b. Before the choice point is reached, an application running on thesmart television 604 accesses 616 a user profile 614 associated witheach of the identified users 620 a, 620 b. Based on the user profiles614, the application identifies recommendations 617 to display to theusers in conjunction with the first option 610 a and the second option610 b. The user profiles may comprise at least one of: past viewingbehavior, past selections of alternative segments, one or morecharacters present in each of the alternative segments and/or thestoryline followed in each of the alternative segments. The alternativesegments may comprise metadata associated with each segment. Theapplication running on the smart television may access the user profileand the metadata associated with each segment in order to identify arecommendation to display. For example, the user profile may indicatethat the user usually chooses segments that are associated with comedy.If an alternative segment is associated with metadata that indicatesthat a segment comprises comedy, then that segment may be recommended toa user. In this example, the recommendation 618 a for the profile“Alice” is to select the first option 610 a, “Throw tea over computer,”and the recommendation 618 b for the profile “Bob” is to select thesecond option 610 b. A user may choose to select the recommended optionor may choose to select the option that is not recommended. In someexamples, a recommended option may be automatically selected on behalfof a user. In other examples, a recommended option may be selected aftera timeout period, for example, after 30 seconds. The option may beselected via any of the means discussed in connection with FIG. 4 . Onreceiving a selection of an option 610 a, 610 b, the smart television602 displays the segment associated with the option.

FIG. 6B shows another example environment in which a subset of availablepaths of an interactive media program to generate for display aredetermined, in accordance with some embodiments of the disclosure. In asimilar manner to the environment shown in FIG. 6A, the environment 600comprises a computing device, in this case a smart television 602, thatreceives and displays an interactive media program 604. As before, theinteractive media program may be received, via a network, from a server.An application running on the smart television 604 identify the users620 a, 620 b via a user's personal computing device 622, 624. In thisexample, Alice 620 a is identified via her smartphone 622. For example,the smartphone 622 may be communicably coupled to the smart television602 via, for example, Bluetooth and/or Wi-Fi. Bob 620 b is identifiedvia his smartwatch 624. For example, the smartwatch 624 may becommunicably coupled to the smart television 602 via, for example,Bluetooth and/or Wi-Fi. The smart television 602 may identify the usersvia a MAC address of their computing device 622, 624 and/or a profileassociated with each computing device 622, 624. In this example, theusers are identified as Alice 620 a and Bob 620 b. Before the choicepoint is reached, an application running on the smart television 604accesses 616 a user profile 614 associated with each of the identifiedusers 620 a, 620 b. Based on the user profiles 614, the applicationidentifies recommendations 617 to display to the users in conjunctionwith the first option 610 a and the second option 610 b. The userprofiles may comprise at least one of: past viewing behavior, pastselections of alternative segments, one or more characters present ineach of the alternative segments and/or the storyline followed in eachof the alternative segments. The alternative segments may comprisemetadata associated with each segment. The application running on thesmart television may access the user profile and the metadata associatedwith each segment in order to identify a recommendation to display. Forexample, the user profile may indicate that the user usually choosessegments that are associated with comedy. If an alternative segment isassociated with metadata that indicates that a segment comprises comedy,then that segment may be recommended to a user. In this example, therecommendation 618 a for the profile “Alice” is to select the firstoption 610 a, “Throw tea over computer,” and the recommendation 618 bfor the profile “Bob” is to select the second option 610 b. A user maychoose to select the recommended option or may choose to select theoption that is not recommended. In some examples, a recommended optionmay be automatically selected on behalf of a user. In other examples, arecommended option may be selected after a timeout period, for example,after 30 seconds. The option may be selected via any of the meansdiscussed in connection with FIG. 4 . On receiving a selection of anoption 610 a, 610 b, the smart television 602 displays the segmentassociated with the option.

FIG. 7A shows another example environment in which a subset of availablepaths of an interactive media program to generate for display aredetermined, in accordance with some embodiments of the disclosure. In asimilar manner to the environment shown in FIG. 4 , the environment 700comprises a computing device, in this case a smart television 702, thatreceives and displays an interactive media program 704. As before, theinteractive media program may be received, via a network, from a server.Before the choice point is reached, an application running on the smarttelevision 704 identifies recommendations 717 to display to the users inconjunction with the first option 710 a and the second option 710 b. Inthis example, the recommendation is based on the screen size of thecomputing device. For example, segments comprising action scenes may bemore suited to a larger screen, whereas segments comprising lots ofdialogue may be more suited to a smaller screen. The alternativesegments may comprise metadata associated with each segment. Theapplication running on the smart television may access the metadataassociated with each segment in order to identify a recommendation todisplay. In this example, the recommendation 726 a is to continuewatching the first option 710 a, “Throw tea over computer,” on the smarttelevision 702, and the recommendation 726 b for the second option 710b, “Shout at dad” is to watch the second option on a tablet device. Auser may choose to select the recommended option or may choose to selectthe option that is not recommended. In some examples, a recommendedoption may be automatically selected on behalf of a user. In otherexamples, a recommended option may be selected after a timeout period,for example, after 30 seconds. The option may be selected via any of themeans discussed in connection with FIG. 4 . On receiving a selection ofthe first option 710 a, which is recommended to watch on the smarttelevision 702, the smart television 702 displays the segment associatedwith that option. On receiving a selection of the second option 710 b,which is recommended to watch on a tablet device, a correspondingapplication running on a tablet device 728 receives the segmentassociated with the option via a network 706 and displays the segment730 on the tablet device 728.

FIG. 7B shows another example environment in which a subset of availablepaths of an interactive media program to generate for display aredetermined, in accordance with some embodiments of the disclosure. In asimilar manner to the environment shown in FIG. 7A, the environment 700comprises a computing device, in this case a smart television 702, thatreceives and displays an interactive media program 704. As before, theinteractive media program may be received, via a network, from a server.Before the choice point is reached, an application running on the smarttelevision 704 identifies recommendations 717 to display to the users inconjunction with the first option 710 a and the second option 710 b. Inthis example, the recommendation is based both on the user's profile andthe screen size of the computing device. The user profiles may compriseat least one of: past viewing behavior, past selections of alternativesegments, one or more characters present in each of the alternativesegments and/or the storyline followed in each of the alternativesegments. For example, segments comprising action scenes may be moresuited to a larger screen, whereas segments comprising lots of dialoguemay be more suited to a smaller screen. The alternative segments maycomprise metadata associated with each segment. The application runningon the smart television may access the metadata associated with eachsegment in order to identify a recommendation to display. In thisexample, the recommendation 718 a, 726 a is for Alice to continuewatching the first option 710 a, “Throw tea over computer,” on the smarttelevision 702, and the recommendation 718 b, 726 b for the secondoption 710 b, “Shout at dad” is for Bob to watch it on a tablet device.A user may choose to select the recommended option or may choose toselect the option that is not recommended. In some examples, arecommended option may be automatically selected on behalf of a user. Inother examples, a recommended option may be selected after a timeoutperiod, for example, after 30 seconds. The option may be selected viaany of the means discussed in connection with FIG. 4 . On receiving aselection of the first option 710 a, which is recommended to watch onthe smart television 702, the smart television 702 displays the segmentassociated with that option. On receiving a selection of the secondoption 710 b, which is recommended to watch on a tablet device, acorresponding application running on a tablet device 728 receives thesegment associated with the option via a network 706 and displays thesegment 730 on the tablet device 728.

FIG. 8 shows another example environment in which a subset of availablepaths of an interactive media program to generate for display aredetermined, in accordance with some embodiments of the disclosure. In asimilar manner to the environment shown in FIGS. 7A and 7B, theenvironment 800 comprises a computing device, in this case a smarttelevision 802, that receives and displays an interactive media program804. As before, the interactive media program may be received, via anetwork, from a server. When displaying the options 810 a, 810 b, anadditional message 832 is displayed. In this example, the message 832informs the users that the options 810 a, 810 b are also open at atablet device 828 and that the options last 20 minutes each. When thismessage 832 is displayed on the smart television 802, a correspondingapplication running on the tablet device 828 displays the options 810 a,810 b. A first user can select an option 810 a, 810 b on the smarttelevision 802, and a second user can select a (different) option 810 a,810 b at the tablet device 828. As before, the interactive media program804 may be received at the tablet device 828, via a network 806, from aserver 808. Once an alternative segment has been displayed at the smarttelevision 802 and the tablet device 828, a subsequent common segment isthen displayed at the smart television 802.

FIG. 9 shows another example environment in which a subset of availablepaths of an interactive media program to generate for display aredetermined, in accordance with some embodiments of the disclosure. In asimilar manner to the environment shown in FIGS. 4-8 , the environment900 comprises a computing device, in this case a smart television 902,that receives and displays an interactive media program 904. As before,the interactive media program may be received, via a network, from aserver. When displaying the options 910 a, 910 b, additional messages934 a, 934 b that inform the user(s) of the duration of each segment aredisplayed.

FIG. 10A shows an example environment in which an enhanced viewingexperience for one or more users of an interactive media program isprovided, in accordance with some embodiments of the disclosure. Theenvironment 1000 comprises a computing device, in this case a smarttelevision 1002, that receives and displays an interactive media program1004. The interactive media program may be received, via a network, suchas the internet, from a server. At a choice point, options 1010 a, 1010b, 1010 c and 1010 d are displayed on a display of the smart television1002. On receiving a user selection 1036 of an option (i.e., one of thefour options 1010 a, 1010 b, 1010 c, 1010 d), a segment associated withthe user selection is generated for output 1038; in this example, thesegment is displayed on a display of the smart television 1002. Once thesegment associated with the option has been displayed, a summary of thealternative segments is generated for output 1040 and is displayed atthe smart television 1002. The summary may comprise one or more of thealternative segments played at an increased playback speed. In otherexamples, the summary may comprise excerpts, or subsections, from thesegments that were not chosen. The summary may be automaticallygenerated by a trained model. In some examples, the summary is generatedon the fly. In other examples, the summary is pre-generated. The summarymay be generated at the smart television 1002 or may be generated at aserver remote from the smart television and may be transmitted to thesmart television 1002 via a network, such as the internet. Once thesummary has been displayed at the smart television 1002, a commonsegment of the interactive media program is displayed at the smarttelevision 1002.

FIG. 10B shows an example environment in which an enhanced viewingexperience for one or more users of an interactive media program isprovided, in accordance with some embodiments of the disclosure. In asimilar manner to the environment shown in FIG. 10A, the environment1000 comprises a computing device, in this case a smart television 1002,that receives and displays an interactive media program 1004. Theinteractive media program may be received, via a network, such as theinternet, from a server. At a choice point, options 1010 a, 1010 b, 1010c and 1010 d are displayed on a display of the smart television 1002.Receiving a user selection 1036 comprises receiving a first selection ofan option and a second selection of an option. On receiving the firstand section options, segments associated with the user selections aregenerated for output 1038. A segment associated with the first option isdisplayed on a display of the smart television 1002, and a segmentassociated with the second option is displayed on a display of a tablet1028. Once the segments associated with the selected options have beendisplayed, a summary of the unselected options is generated for output1040 and is displayed at the smart television 1002. Once the summary hasbeen displayed at the smart television 1002, a common segment of theinteractive media program is displayed at the smart television 1002.

FIG. 10C shows an example environment in which an enhanced viewingexperience for one or more users of an interactive media program isprovided, in accordance with some embodiments of the disclosure. In asimilar manner to the environments shown in FIGS. 10A and 10B, theenvironment 1000 comprises a computing device, in this case a smarttelevision 1002, that receives and displays an interactive media program1004. The interactive media program may be received, via a network, suchas the internet, from a server. At a choice point, options 1010 a, 1010b, 1010 c and 1010 d are displayed on a display of the smart television1002. On receiving a user selection 1036 of an option (i.e., one of thefour options 1010 a, 1010 b, 1010 c, 1010 d), a segment associated withthe user selection is generated for output 1038; in this example, thesegment is displayed on a display of the smart television 1002. Once thesegment associated with the option has been displayed, a summary of thealternative segments is generated for output 1040 and is displayed atthe smart television 1002. Generating the summary for output 1040comprises accessing a user profile 1016. The user profile may comprisepast viewing behavior, past selections of alternative segments, one ormore characters present in each of the alternative segments and/or thestoryline followed in each of the alternative segments. The alternativesegments may have metadata associated with them that enables anapplication running on a smart television to identify characteristicsassociated with each alternative segment in order to aid the applicationwith determining an interest level in each unselected segment. Based onthe accessed user profile, an interest level in each of the unselectedsegments may be determined 1041, and the summary summarizes only thesegments that have an associated interest level that is above athreshold value. Once the summary has been displayed at the smarttelevision 1002, a common segment of the interactive media program isdisplayed at the smart television 1002.

FIG. 10D shows an example environment in which an enhanced viewingexperience for one or more users of an interactive media program isprovided, in accordance with some embodiments of the disclosure. In asimilar manner to the environments shown in FIGS. 10A, 10B and 10C, theenvironment 1000 comprises a computing device, in this case a smarttelevision 1002, that receives and displays an interactive media program1004. The interactive media program may be received, via a network, suchas the internet, from a server. At a choice point, options 1010 a, 1010b, 1010 c and 1010 d are displayed on a display of the smart television1002. On receiving a user selection 1036 of an option (i.e., one of thefour options 1010 a, 1010 b, 1010 c, 1010 d), a segment associated withthe user selection is generated for output 1038; in this example, thesegment is displayed on a display of the smart television 1002. Once thesegment associated with the option has been displayed, a summary of thealternative segments is generated for output 1040 and is displayed atthe smart television 1002. Generating the summary for output 1040comprises accessing a user profile 1016. The user profile may comprisepast viewing behavior, past selections of alternative segments, one ormore characters present in each of the alternative segments and/or thestoryline followed in each of the alternative segments. The alternativesegments may have metadata associated with them that enables anapplication running on a smart television to identify characteristicsassociated with each alternative segment in order to aid the applicationwith determining an interest level in each unselected segment. Based onthe accessed user profile, a summary duration is determined 1043, andthe generated summary is based on the determined summary duration. Insome examples, the summary may be generated to be exactly the identifiedduration. In other examples, the summary may be generated to be theidentified duration, within a threshold amount, for example, if theidentified duration is 3 minutes then the generated summary may be 3minutes±30 seconds. Once the summary has been displayed at the smarttelevision 1002, a common segment of the interactive media program isdisplayed at the smart television 1002.

FIG. 11A shows another example environment in which an enhanced viewingexperience for one or more users of an interactive media program isprovided, in accordance with some embodiments of the disclosure. In asimilar manner to the environments shown in FIGS. 10A, 10B, 10C and 10D,the environment 1100 comprises a computing device, in this case a smarttelevision 1102, that receives and displays an interactive media program1104. The interactive media program may be received, via a network, suchas the internet, from a server. At a choice point, options 1110 a, 1110b, 1110 c and 1110 d are displayed on a display of the smart television1102. On receiving a user selection 1136 of an option (i.e., one of thefour options 1110 a, 1110 b, 1110 c, 1110 d), a segment associated withthe user selection is generated for output 1138; in this example, thesegment is displayed on a display of the smart television 1102. Whilethe segment is being displayed on a display of the smart television1102, an indication of a bookmark is received 1142. The indication maybe provided by a user, for example by pressing one or more buttons on aremote control of the smart television 1102. In other examples, theindication may be provided via speech and a voice recognition componentrunning on the smart television 1102, by a computing devicecommunicatively coupled with the smart television 1102 and/or by a touchevent on a touch screen of the smart television 1102. Once the segmentassociated with the option has been displayed, a summary of thealternative segments is generated for output 1140 and is displayed atthe smart television 1102. Generating the summary for output 1140comprises summarizing only the bookmarked portions of the segment. Oncethe summary has been displayed at the smart television 1102, a commonsegment of the interactive media program is displayed at the smarttelevision 1102.

FIG. 11B shows another example environment in which an enhanced viewingexperience for one or more users of an interactive media program isprovided, in accordance with some embodiments of the disclosure. In asimilar manner to the environment shown in FIG. 11A, the environment1100 comprises a computing device, in this case a smart television 1102,that receives and displays an interactive media program 1104. Theinteractive media program may be received, via a network, such as theinternet, from a server. At a choice point, options 1110 a, 1110 b, 1110c and 1110 d are displayed on a display of the smart television 1102. Onreceiving a user selection 1136 of an option (i.e., one of the fouroptions 1110 a, 1110 b, 1110 c, 1110 d), a segment associated with theuser selection is generated for output 1138; in this example, thesegment is displayed on a display of the smart television 1102. Whilethe segment is being displayed on a display of the smart television1102, the plurality of alternative segments are analyzed to identifyrelated subsections of each of the segments 1145, and one or morebookmarks are generated based on at least a subset of the identifiedsubsections 1147. Once the segment associated with the option has beendisplayed, a summary of the alternative segments is generated for output1140 and is displayed at the smart television 1102. Generating thesummary for output 1040 comprises summarizing only the bookmarkedportions of the segment. Once the summary has been displayed at thesmart television 1102, a common segment of the interactive media programis displayed at the smart television 1102.

FIG. 12 shows another example environment in which an enhanced viewingexperience for one or more users of an interactive media program isprovided, in accordance with some embodiments of the disclosure. In asimilar manner to the environments shown in FIGS. 10A-C and 11A-B, theenvironment 1200 comprises a computing device, in this case a smarttelevision 1102, that receives and displays an interactive media program1204. The interactive media program may be received, via a network, suchas the internet, from a server. At a choice point, options 1210 a, 1210b, 1210 c and 1210 d are displayed on a display of the smart television1202. Receiving user selections 1236 comprises receiving a firstselection of an option and a second selection of an option. On receivingthe first and second options, segments associated with the userselections are generated for output 1238. A segment associated with thefirst option is displayed on a display of the smart television 1202, anda segment associated with the second option is displayed on a display ofa tablet 1228. Once the segments associated with the selected optionshave been displayed, a first summary of the segments that were notdisplayed at the smart television 1202 is generated for output 1240 andis displayed at the smart television 1202. A second summary of theoptions that were not displayed at the tablet 1228 is generated foroutput 1242 and is displayed at the tablet 1228. Once the first andsecond summaries have been displayed, a common segment of theinteractive media program is displayed at the smart television 1202.

FIG. 13 shows a block diagram representing components of a computingdevice and data flow therebetween for determining a subset of availablepaths of an interactive media program to generate for display, inaccordance with some embodiments of the disclosure. Computing device1300 (e.g., a smart television 402, 502, 602, 702, 802, 902) asdiscussed in connection with FIGS. 4-9 ) comprises input circuitry 1304,control circuitry 1308 and an output module 1330. Control circuitry 1308may be based on any suitable processing circuitry (not shown) andcomprises control circuits and memory circuits, which may be disposed ona single integrated circuit or may be discrete components and processingcircuitry. As referred to herein, processing circuitry should beunderstood to mean circuitry based on one or more microprocessors,microcontrollers, digital signal processors, programmable logic devices,field-programmable gate arrays (FPGAs), application-specific integratedcircuits (ASICs), etc., and may include a multi-core processor (e.g.,dual-core, quad-core, hexa-core, or any suitable number of cores). Insome embodiments, processing circuitry may be distributed acrossmultiple separate processors or processing units, for example, multipleof the same type of processing units (e.g., two Intel Core i9processors) or multiple different processors (e.g., an Intel Core i5processor and an Intel Core i7 processor) and/or a system on a chip(e.g., a Qualcomm Snapdragon 888). Some control circuits may beimplemented in hardware, firmware, or software.

A user provides an input 1302 that is received by the input circuitry1304. The input circuitry 1304 is configured to receive a user inputrelated to a computing device. For example, this may be via atouchscreen, keyboard, mouse, microphone and/or infra-red controller ofthe computing device 1300. The input circuitry 1304 transmits 1306 theuser input to the control circuitry 1308.

The control circuitry 1308 comprises a program receiving module 1310, auser profile access module 1314, a segment identification module 1318,an option generation module 1322, an option selection receiving module1326 and an output module 1330. The user input is transmitted 1306 tothe program receiving module 1310. At the program receiving module 1310,an interactive media program is received. On receiving the interactivemedia program, a request is transmitted 1312 to the user profile accessmodule 1314 to access a user profile. On accessing the user profile, arequest, and at least a part of the user profile, are transmitted 1316to the segment identification module 1318 to identify a subset of theplurality of alternative segments of the interactive media program basedon the user profile. On identifying a subset of the plurality ofalternative segments, an indication of the identified subset ofalternative segments is transmitted 1320 to the option generation module1322. The option generation module 1322 generates a plurality of optionsfor output based on the received indication of the identified subset ofalternative segments. The plurality of options are transmitted 1324 tothe option selection receiving module 1326, wherein the indication of anoption to be selected is received. The option selection module 1326transmits 1328 the selected option to the output module 1330 where asegment that is associated with the selected option is generated foroutput 1332.

FIG. 14 shows another block diagram representing components of acomputing device and data flow therebetween for determining a subset ofavailable paths of an interactive media program to generate for display,in accordance with some embodiments of the disclosure. Computing device1400 (e.g., a smart television 1002, 1102, 1202 as discussed inconnection with FIGS. 10-12 ) comprises input circuitry 1404, controlcircuitry 1408 and an output module 1426. Control circuitry 1408 may bebased on any suitable processing circuitry (not shown) and comprisescontrol circuits and memory circuits, which may be disposed on a singleintegrated circuit or may be discrete components and processingcircuitry. As referred to herein, processing circuitry should beunderstood to mean circuitry based on one or more microprocessors,microcontrollers, digital signal processors, programmable logic devices,field-programmable gate arrays (FPGAs), application-specific integratedcircuits (ASICs), etc., and may include a multi-core processor (e.g.,dual-core, quad-core, hexa-core, or any suitable number of cores). Insome embodiments, processing circuitry may be distributed acrossmultiple separate processors or processing units, for example, multipleof the same type of processing units (e.g., two Intel Core i9processors) or multiple different processors (e.g., an Intel Core i5processor and an Intel Core i7 processor) and/or a system on a chip(e.g., a Qualcomm Snapdragon 888). Some control circuits may beimplemented in hardware, firmware, or software.

A user provides an input 1402 that is received by the input circuitry1404. The input circuitry 1404 is configured to receive a user inputrelated to a computing device. For example, this may be via atouchscreen, keyboard, mouse, microphone and/or infra-red controller ofthe computing device 1400. The input circuitry 1404 transmits 1406 theuser input to the control circuitry 1408.

The control circuitry 1408 comprises a program receiving module 1410, asegment selection receiving module 1414, a segment output module 1418,an summary generation module 1422 and an output module 1426. The userinput is transmitted 1406 to the program receiving module 1410. At theprogram receiving module 1410, an interactive media program is received.On receiving the interactive media program, a plurality of options thatcorrespond to each of the plurality of segments are generated and aretransmitted 1412 to the segment selection receiving module 1414. At thesegment selection receiving module 1414, the options are generated foroutput, and a selection of one of the options, corresponding to asegment of the plurality of alternative segments, is received. Theselection is transmitted 1416 to the segment output module 1418, whereinthe segment is generated for output. An indication of the segmentassociated with the selected option is transmitted 1420 to the summarygeneration module 1422, wherein a summary of the plurality ofalternative segments is generated for output. An indication of when thesummary has finished, or is about to finish, being output is transmittedto the output module 1426, where a common segment is generated foroutput 1428.

FIG. 15 shows a flowchart of illustrative steps involved for determininga subset of available paths of an interactive media program to generatefor display, in accordance with some embodiments of the disclosure.Process 1500 may be implemented on any of the aforementioned computingdevices (e.g., smart television 402, 502, 602, 702, 802, 902). Inaddition, one or more actions of the process 1500 may be incorporatedinto or combined with one or more actions of any other process orembodiments described herein.

At 1502, an interactive media program is received at a computing device.At 1504, a user profile is accessed. At 1506, a subset of alternativesegments is identified. At 1508, a set of options is generated fordisplay. At 1510, a selection of one of the options is received. At1512, the selected segment is generated for output.

FIG. 16 shows a flowchart of illustrative steps involved for providingan enhanced viewing experience for one or more users of an interactivemedia program, in accordance with some embodiments of the disclosure.Process 1600 may be implemented on any of the aforementioned computingdevices (e.g., smart television 1002, 1102, 1202). In addition, one ormore actions of the process 1600 may be incorporated into or combinedwith one or more actions of any other process or embodiments describedherein.

At 1602, an interactive media program is received at a computing device.At 1604, a selection of a first alternative segment is received. At1606, a first alternative segment is generated for output. At 1608, asegment summary is generated. At 1610, a segment summary is generatedfor output. At 1612, a common segment is generated for output.

FIG. 17 shows another flowchart of illustrative steps involved fordetermining a subset of available paths of an interactive media programto generate for display, in accordance with some embodiments of thedisclosure. Process 1700 may be implemented on any of the aforementionedcomputing devices (e.g., smart television 402, 502, 602, 702, 802, 902).In addition, one or more actions of the process 1700 may be incorporatedinto or combined with one or more actions of any other process orembodiments described herein.

At 1702, a user opens a streaming application, for example, anapplication associated with an OTT provider. At 1704, a user selects auser profile, for example, by selecting an icon displayed on a displayof a smart television. At 1706, a user selects an interactive mediaprogram, for example, via an interface of an application associated withan OTT provider. At 1708, a first segment of the interactive mediaprogram is generated for output, for example, a first common segment ofthe interactive media program is displayed on a display of a smarttelevision. At 1710, a subset of segments is identified, for examplebased on the selected user profile. At 1712, identification of theviewers takes place, for example via a camera associated with a smarttelevision or via a computing device associated with a user. At 1714, itis identified whether there is more than one viewer. If there is onlyone viewer (“No” at 1714), at 1716, options associated with the subsetof identified segments are generated for output. At 1718, a selection ofone of the options is received, and at 1720, a segment associated withthe selected option is generated for output 1720.

If there is more than one viewer (“Yes” at 1714), at 1722 it isidentified whether a profile for the additional viewers are available.If they are available, at 1724, the additional profile(s) are accessedand options are generated for output based on the selected user profile,the identified subset of segments and the subsequently accessed userprofiles. For example, the options may only be generated for output forsome of the identified subset of segments based on the subsequentlyaccessed user profiles. At 1726, it is identified whether additionalcomputing devices are available. If additional computing devices are notavailable, at 1730, a selection of one of the options is received, and,at 1732, a segment associated with the selected option is generated foroutput.

If additional computing devices are available, then generating theoptions for output further comprises indicating, at 1728, that thesegment(s) associated with the options may be viewed on an additionalcomputing device. At 1734, a selection of the options is received, and,at 1736, segments associated with the selected options are generated foroutput on the selected computing devices.

The processes described above are intended to be illustrative and notlimiting. One skilled in the art would appreciate that the steps of theprocesses discussed herein may be omitted, modified, combined, and/orrearranged, and any additional steps may be performed without departingfrom the scope of the disclosure. More generally, the above disclosureis meant to be example and not limiting. Furthermore, it should be notedthat the features and limitations described in any one embodiment may beapplied to any other embodiment herein, and flowcharts or examplesrelating to one embodiment may be combined with any other embodiment ina suitable manner, done in different orders, or done in parallel. Inaddition, the systems and methods described herein may be performed inreal time. It should also be noted that the systems and/or methodsdescribed above may be applied to, or used in accordance with, othersystems and/or methods.

What is claimed is:
 1. A method for determining a subset of availablepaths of an interactive media program to generate for output, the methodcomprising: receiving, at a computing device, the interactive mediaprogram, wherein the interactive media program comprises a plurality ofalternative segments followed by a common segment; accessing a userprofile; identifying, based on the user profile, a subset of theplurality of alternative segments; generating a set of options foroutput, wherein the set of options enables one of the alternativesegments to be selected from the identified subset of the alternativesegments, and the set of options comprises an indication of a secondarydevice on which a segment associated with a selected option can beviewed; receiving a selection of an option of the set of options,wherein the option is a first option; and based on the selected option,generating for output a first segment of the subset of the plurality ofalternative segments.
 2. The method of claim 1, wherein the methodfurther comprises identifying two or more users accessing theinteractive media program, and wherein: accessing the user profilefurther comprises accessing a user profile for each of at least two ofthe identified users; and generating the set of options for outputfurther comprises generating a set of options for output based on theuser profiles of at least two of the identified users.
 3. The method ofclaim 2, wherein the identifying the two or more users is performed viaa camera coupled to the computing device.
 4. The method of claim 2,wherein: receiving the selection of an option further comprisesreceiving a selection of a second option; the method further comprisesidentifying one or more secondary computing devices; and based on theselected second option, generating a second segment for output at theidentified one or more secondary computing devices.
 5. The method ofclaim 1, wherein the identifying a subset of the plurality ofalternative segments based on the user profile further comprisesidentifying the subset of segments based on at least one of: pastviewing behavior, past selections of alternative segments, one or morecharacters present in each of the alternative segments, or the storylinefollowed in each of the alternative segments.
 6. The method of claim 1,wherein generating the set of options for output further comprisesgenerating an indication of a recommended option based on the userprofile.
 7. The method of claim 1, wherein the set of options comprisesa first set of options and a second set of options and whereingenerating a set of options for output comprises generating the firstset of options for output at the computing device and generating thesecond set of options for output at the secondary computing device. 8.The method of claim 1, wherein generating the set of options for outputfurther comprises generating an indication of a duration of the segmentassociated with each option.
 9. The method of claim 1, furthercomprising: receiving a selection of a second option; generating a firstsegment, based on the selected first option, and a second segment, basedon the selected second option, for output, wherein the first segment isof a first duration and the second segment is of a second duration; andwherein the second segment is altered so that the duration is the sameas the first duration.
 10. A system for determining a subset ofavailable paths of an interactive media program to generate for output,the system comprising: a communication port; a memory storinginstructions; and control circuitry communicably coupled to the memoryand the communication port and configured to execute the instructionsto: receive, at a computing device, the interactive media program,wherein the interactive media program comprises a plurality ofalternative segments followed by a common segment; access a userprofile; identify, based on the user profile, a subset of the pluralityof alternative segments; generate a set of options for output, whereinthe set of options enables one of the alternative segments to beselected from the identified subset of the alternative segments, and theset of options comprises an indication of a secondary device on which asegment associated with a selected option can be viewed; receive aselection of an option of the set of options, wherein the option is afirst option; and based on the selected option, generate for output afirst segment of the subset of the plurality of alternative segments.11. The system of claim 10, wherein the control circuitry is furtherconfigured to identify two or more users accessing the interactive mediaprogram and wherein: the control circuitry configured to access the userprofile is further configured to access a user profile for each of atleast two of the identified users; and the control circuitry configuredto generate the set of options for output is further configured togenerate a set of options for output based on the user profiles of atleast two of the identified users.
 12. The system of claim 11, whereinthe control circuitry configured to identify the one or more users isfurther configured to identify the one or more users via a cameracoupled to the computing device.
 13. The system of claim 11, wherein:the control circuitry configured to receive the selection of an optionis further configured to receive a selection of a second option; thecontrol circuitry is further configured to identify one or moresecondary computing devices; and the control circuitry configured togenerate the output is further configured to, based on the selectedsecond option, generate a second segment for output at the identifiedone or more secondary computing devices.
 14. The system of claim 10,wherein the control circuitry configured to identify a subset of theplurality of alternative segments based on the user profile is furtherconfigured to identify the subset of segments based on at least one of:past viewing behavior, past selections of alternative segments, one ormore characters present in each of the alternative segments, or thestoryline followed in each of the alternative segments.
 15. The systemof claim 10, wherein the control circuitry configured to generate theset of options for output is further configured to generate anindication of a recommended option based on the user profile.
 16. Thesystem of claim 10, wherein the set of options comprises a first set ofoptions and a second set of options and wherein the control circuitryconfigured to generate the set of options for output is furtherconfigured to generate the first set of options for output at thecomputing device and to generate the second set of options for output atthe secondary computing device.
 17. The system of claim 10, wherein thecontrol circuitry configured to generate the set of options for outputis further configured to generate an indication of a duration of thesegment associated with each option.
 18. The system of claim 10, whereinthe control circuitry is further configured to: receive a selection of asecond option; generate a first segment, based on the selected firstoption, and a second segment, based on the selected second option, foroutput, wherein the first segment is of a first duration and the secondsegment is of a second duration; and wherein the second segment isaltered so that the duration is the same as the first duration.